home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 1146 / 1146.xpi / chrome / screengrab.jar / content / injected / selectionBox.js
Text File  |  2009-03-09  |  2KB  |  75 lines

  1. /*
  2. Copyright (C) 2004-2007  Andy Mutton
  3.  
  4. This program is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU General Public License
  6. as published by the Free Software Foundation; either version 2
  7. of the License, or (at your option) any later version.
  8.  
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. GNU General Public License for more details.
  13.  
  14. You should have received a copy of the GNU General Public License
  15. along with this program; if not, write to the Free Software
  16. Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  17.  
  18. Contact: andy@5263.org
  19. */
  20. var BACKGROUND_DIV = "screengrabBackgroundDiv";
  21. var DRAW_DIV = "screengrabDrawDiv";
  22. var BOX_DIV = "screengrabBoxDiv";
  23.  
  24. var originX = null;
  25. var originY = null;
  26.  
  27. function beginBoxDraw(event) {
  28.     var winCon = window._content;
  29.     var boxDiv = winCon.document.getElementById(BOX_DIV);
  30.     if (boxDiv == null) {
  31.         boxDiv = winCon.document.createElement("div");
  32.         boxDiv.setAttribute("id", BOX_DIV);
  33.         boxDiv.setAttribute("class", "boxOverlay");
  34.         winCon.document.getElementById(BACKGROUND_DIV).appendChild(boxDiv);
  35.     }
  36.     
  37.     boxDiv.style.display = "none";
  38.     boxDiv.style.left = event.clientX + "px";
  39.     boxDiv.style.top = event.clientY + "px";
  40.     boxDiv.setAttribute("onmousedown", "clearBox(event)");
  41.     winCon.document.addEventListener("mousemove", boxDrawing, true);
  42.     winCon.document.addEventListener("mouseup", endBoxDraw, true);
  43.     originX = event.clientX;
  44.     originY = event.clientY;
  45. }
  46.  
  47. function boxDrawing(event) {
  48.     var winCon = window._content;
  49.     var boxDiv = winCon.document.getElementById(BOX_DIV);
  50.  
  51.     var mouseX = event.clientX;
  52.     var mouseY = event.clientY;
  53.     
  54.     var left = mouseX < originX ? mouseX : originX;
  55.     var top = mouseY < originY ? mouseY : originY;
  56.  
  57.     var width = Math.abs(mouseX - originX);
  58.     var height = Math.abs(mouseY - originY);
  59.  
  60.     boxDiv.style.display = "none";
  61.     boxDiv.style.left = left + "px";
  62.     boxDiv.style.top = top + "px";
  63.  
  64.     boxDiv.style.width = width + "px";
  65.     boxDiv.style.height = height + "px";
  66.     
  67.     boxDiv.style.display = "inline";
  68. }
  69.  
  70. function endBoxDraw(event) {
  71.     var winCon = window._content;
  72.     winCon.document.removeEventListener("mousemove", boxDrawing, true);
  73.     winCon.document.removeEventListener("mouseup", endBoxDraw, true);
  74. }
  75.